[INFO] fetching crate llm-pipeline 0.1.0...
[INFO] testing llm-pipeline-0.1.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate llm-pipeline 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate llm-pipeline 0.1.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate llm-pipeline 0.1.0
[INFO] tweaked toml for crates.io crate llm-pipeline 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate llm-pipeline 0.1.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate llm-pipeline 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded native-tls v0.2.15
[INFO] [stderr]   Downloaded syn v2.0.115
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d31bd2945cb91997f2cc525a9150de5a7ed89795de05cf847c35d70d9773e242
[INFO] running `Command { std: "docker" "start" "-a" "d31bd2945cb91997f2cc525a9150de5a7ed89795de05cf847c35d70d9773e242", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d31bd2945cb91997f2cc525a9150de5a7ed89795de05cf847c35d70d9773e242", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d31bd2945cb91997f2cc525a9150de5a7ed89795de05cf847c35d70d9773e242", kill_on_drop: false }`
[INFO] [stdout] d31bd2945cb91997f2cc525a9150de5a7ed89795de05cf847c35d70d9773e242
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba89a247ad0fd286919d432cab1faa0e487d5b0f6ed7d70d603ca9f21d2e27fe
[INFO] running `Command { std: "docker" "start" "-a" "ba89a247ad0fd286919d432cab1faa0e487d5b0f6ed7d70d603ca9f21d2e27fe", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling native-tls v0.2.15
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling llm-pipeline v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.68s
[INFO] running `Command { std: "docker" "inspect" "ba89a247ad0fd286919d432cab1faa0e487d5b0f6ed7d70d603ca9f21d2e27fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba89a247ad0fd286919d432cab1faa0e487d5b0f6ed7d70d603ca9f21d2e27fe", kill_on_drop: false }`
[INFO] [stdout] ba89a247ad0fd286919d432cab1faa0e487d5b0f6ed7d70d603ca9f21d2e27fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ded6a94b759451e688e794a4beaa0c03276281377425f1f9cfaa009e7d30f347
[INFO] running `Command { std: "docker" "start" "-a" "ded6a94b759451e688e794a4beaa0c03276281377425f1f9cfaa009e7d30f347", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling llm-pipeline v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.65s
[INFO] running `Command { std: "docker" "inspect" "ded6a94b759451e688e794a4beaa0c03276281377425f1f9cfaa009e7d30f347", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ded6a94b759451e688e794a4beaa0c03276281377425f1f9cfaa009e7d30f347", kill_on_drop: false }`
[INFO] [stdout] ded6a94b759451e688e794a4beaa0c03276281377425f1f9cfaa009e7d30f347
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4cb3f62e9d28299483cfb3e38680f4f26cfa7face631bf3dd8b3c7e8ace34e46
[INFO] running `Command { std: "docker" "start" "-a" "4cb3f62e9d28299483cfb3e38680f4f26cfa7face631bf3dd8b3c7e8ace34e46", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llm_pipeline-91eed34b3a244ae5)
[INFO] [stdout] 
[INFO] [stdout] running 256 tests
[INFO] [stdout] test backend::backoff::tests::test_backoff_delay_exponential ... ok
[INFO] [stdout] test backend::backoff::tests::test_backoff_none_preset ... ok
[INFO] [stdout] test backend::backoff::tests::test_backoff_delay_capped_at_max ... ok
[INFO] [stdout] test backend::backoff::tests::test_backoff_jitter_full_in_range ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_chat_payload ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_chat_with_history ... ok
[INFO] [stdout] test backend::backoff::tests::test_backoff_standard_preset ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_thinking_mode ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_streaming_body ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_use_chat_logic ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_custom_options ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_generate_payload ... ok
[INFO] [stdout] test backend::ollama::tests::test_ollama_backend_json_mode ... ok
[INFO] [stdout] test backend::tests::test_backoff_none_no_retry ... ok
[INFO] [stdout] test backend::tests::test_backoff_respects_retry_after_parsing ... ok
[INFO] [stdout] test backend::tests::test_is_retryable_400_not_retried ... ok
[INFO] [stdout] test backend::tests::test_is_retryable_429 ... ok
[INFO] [stdout] test backend::tests::test_is_retryable_503 ... ok
[INFO] [stdout] test backend::tests::test_is_retryable_cancelled_not_retried ... ok
[INFO] [stdout] test backend::tests::test_is_retryable_other_error_not_retried ... ok
[INFO] [stdout] test client::tests::test_llm_config_builder ... ok
[INFO] [stdout] test client::tests::test_llm_config_defaults ... ok
[INFO] [stdout] test diagnostics::tests::test_diagnostics_default_is_ok ... ok
[INFO] [stdout] test diagnostics::tests::test_diagnostics_with_error_is_not_ok ... ok
[INFO] [stdout] test exec_ctx::tests::test_normalize_base_url_strips_v1 ... ok
[INFO] [stdout] test exec_ctx::tests::test_normalize_base_url_trailing_slash ... ok
[INFO] [stdout] test exec_ctx::tests::test_normalize_base_url_strips_full_path ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_choice_strategy ... ok
[INFO] [stdout] test exec_ctx::tests::test_normalize_base_url_preserves_clean ... ok
[INFO] [stdout] test exec_ctx::tests::test_normalize_base_url_strips_api ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_custom_strategy ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_json_strategy_fails ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_json_strategy_repairs ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_json_strategy_succeeds ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_lossy_backward_compat ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_string_list_strategy ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_text_strategy ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_with_thinking ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_xml_tag_strategy ... ok
[INFO] [stdout] test llm_call::tests::test_build_request ... ok
[INFO] [stdout] test llm_call::tests::test_build_request_with_messages ... ok
[INFO] [stdout] test llm_call::tests::test_choice_strategy_succeeds ... ok
[INFO] [stdout] test llm_call::tests::test_choice_strategy_with_retry_detects_failure ... ok
[INFO] [stdout] test llm_call::tests::test_custom_validator_with_retry ... ok
[INFO] [stdout] test llm_call::tests::test_diagnostics_attached_to_output ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_number_in_range_rejects ... ok
[INFO] [stdout] test llm_call::tests::test_build_output_number_strategy ... ok
[INFO] [stdout] test llm_call::tests::test_llm_call_accessors ... ok
[INFO] [stdout] test llm_call::tests::test_retry_cool_down_reduces_temperature ... ok
[INFO] [stdout] test llm_call::tests::test_retry_no_cool_down ... ok
[INFO] [stdout] test llm_call::tests::test_retry_not_triggered_on_success ... ok
[INFO] [stdout] test llm_call::tests::test_retry_requiring_keys_passes ... ok
[INFO] [stdout] test llm_call::tests::test_retry_triggered_on_parse_failure ... ok
[INFO] [stdout] test llm_call::tests::test_retry_triggered_on_semantic_failure ... ok
[INFO] [stdout] test output_parser::choice::tests::bold ... ok
[INFO] [stdout] test output_parser::choice::tests::case_insensitive ... ok
[INFO] [stdout] test output_parser::choice::tests::exact_match ... ok
[INFO] [stdout] test output_parser::choice::tests::in_prose ... ok
[INFO] [stdout] test output_parser::choice::tests::no_match ... ok
[INFO] [stdout] test output_parser::choice::tests::no_substring ... ok
[INFO] [stdout] test llm_call::tests::test_number_in_range_with_retry_detects_failure ... ok
[INFO] [stdout] test output_parser::choice::tests::first_wins ... ok
[INFO] [stdout] test llm_call::tests::test_transport_retry_populates_diagnostics ... ok
[INFO] [stdout] test output_parser::choice::tests::with_think ... ok
[INFO] [stdout] test output_parser::extract::tests::extract_bare_code_block ... ok
[INFO] [stdout] test output_parser::choice::tests::quoted ... ok
[INFO] [stdout] test output_parser::extract::tests::extract_code_block_for_json ... ok
[INFO] [stdout] test output_parser::extract::tests::extract_code_block_for_wrong_lang ... ok
[INFO] [stdout] test output_parser::extract::tests::extract_code_block_no_fence ... ok
[INFO] [stdout] test output_parser::extract::tests::extract_json_code_block ... ok
[INFO] [stdout] test output_parser::choice::tests::with_period ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_json_array ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_nested ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_no_match ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_prefers_later ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_with_string_containing_brackets ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_mixed_think_and_thinking ... ok
[INFO] [stdout] test output_parser::extract::tests::preprocess_strips_and_trims ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_think_tags_complete ... ok
[INFO] [stdout] test output_parser::extract::tests::find_bracketed_json_object ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_think_tags_incomplete ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_think_tags_no_tags ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_think_tags_multiple ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_thinking_tags_incomplete ... ok
[INFO] [stdout] test output_parser::json::tests::bare_code_block ... ok
[INFO] [stdout] test output_parser::json::tests::code_block_json ... ok
[INFO] [stdout] test output_parser::json::tests::direct_json_array ... ok
[INFO] [stdout] test output_parser::json::tests::direct_json_object ... ok
[INFO] [stdout] test output_parser::json::tests::empty_response_fails ... ok
[INFO] [stdout] test output_parser::json::tests::json_in_prose ... ok
[INFO] [stdout] test output_parser::json::tests::json_with_surrounding_text ... ok
[INFO] [stdout] test output_parser::json::tests::nested_json ... ok
[INFO] [stdout] test output_parser::json::tests::repaired_single_quotes ... ok
[INFO] [stdout] test output_parser::json::tests::repaired_trailing_comma ... ok
[INFO] [stdout] test output_parser::json::tests::parse_json_value_works ... ok
[INFO] [stdout] test output_parser::extract::tests::strip_thinking_tags_complete ... ok
[INFO] [stdout] test output_parser::list::tests::clean_tags_filters_empty ... ok
[INFO] [stdout] test output_parser::json::tests::think_then_json ... ok
[INFO] [stdout] test output_parser::json::tests::think_and_code_block ... ok
[INFO] [stdout] test output_parser::list::tests::json_object_with_results_key ... ok
[INFO] [stdout] test output_parser::list::tests::parse_cleans_whitespace_and_case ... ok
[INFO] [stdout] test output_parser::list::tests::json_object_with_list_key ... ok
[INFO] [stdout] test output_parser::list::tests::parse_code_block_with_object ... ok
[INFO] [stdout] test output_parser::list::tests::json_object_with_items_key ... ok
[INFO] [stdout] test output_parser::list::tests::parse_comma_separated ... ok
[INFO] [stdout] test output_parser::list::tests::parse_bulleted_list ... ok
[INFO] [stdout] test output_parser::list::tests::parse_deduplicates ... ok
[INFO] [stdout] test output_parser::list::tests::parse_empty_fails ... ok
[INFO] [stdout] test output_parser::list::tests::parse_filters_long_tags ... ok
[INFO] [stdout] test output_parser::list::tests::parse_markdown_code_block ... ok
[INFO] [stdout] test output_parser::list::tests::parse_json_array ... ok
[INFO] [stdout] test output_parser::list::tests::parse_mixed_text_and_json ... ok
[INFO] [stdout] test output_parser::list::tests::parse_numbered_list ... ok
[INFO] [stdout] test output_parser::list::tests::parse_star_bulleted_list ... ok
[INFO] [stdout] test output_parser::list::tests::parse_with_incomplete_think_block ... ok
[INFO] [stdout] test output_parser::list::tests::parse_think_then_object ... ok
[INFO] [stdout] test output_parser::list::tests::parse_with_surrounding_text ... ok
[INFO] [stdout] test output_parser::list::tests::parse_with_think_blocks ... ok
[INFO] [stdout] test output_parser::list::tests::raw_comma_separated ... ok
[INFO] [stdout] test output_parser::list::tests::parse_think_then_code_block ... ok
[INFO] [stdout] test output_parser::list::tests::raw_preserves_case ... ok
[INFO] [stdout] test output_parser::list::tests::parse_object_with_tags_key ... ok
[INFO] [stdout] test output_parser::list::tests::raw_preserves_length ... ok
[INFO] [stdout] test output_parser::list::tests::repaired_json_list ... ok
[INFO] [stdout] test output_parser::list::tests::strip_think_tags_multiple ... ok
[INFO] [stdout] test output_parser::list::tests::strip_think_tags_incomplete ... ok
[INFO] [stdout] test output_parser::list::tests::strip_think_tags_complete ... ok
[INFO] [stdout] test output_parser::number::tests::fraction ... ok
[INFO] [stdout] test output_parser::number::tests::float ... ok
[INFO] [stdout] test output_parser::list::tests::thinking_tag_variant ... ok
[INFO] [stdout] test output_parser::number::tests::in_prose ... ok
[INFO] [stdout] test output_parser::number::tests::integer ... ok
[INFO] [stdout] test output_parser::number::tests::labeled ... ok
[INFO] [stdout] test output_parser::number::tests::multiple_numbers_labeled ... ok
[INFO] [stdout] test output_parser::number::tests::negative ... ok
[INFO] [stdout] test output_parser::number::tests::range_fail ... ok
[INFO] [stdout] test output_parser::number::tests::range_pass ... ok
[INFO] [stdout] test output_parser::number::tests::with_think ... ok
[INFO] [stdout] test output_parser::repair::tests::apostrophe_safety ... ok
[INFO] [stdout] test output_parser::repair::tests::block_comment ... ok
[INFO] [stdout] test output_parser::repair::tests::inline_comment ... ok
[INFO] [stdout] test output_parser::number::tests::no_number ... ok
[INFO] [stdout] test output_parser::repair::tests::missing_close_bracket ... ok
[INFO] [stdout] test output_parser::repair::tests::missing_close_brace ... ok
[INFO] [stdout] test output_parser::repair::tests::mixed_errors ... ok
[INFO] [stdout] test output_parser::repair::tests::no_repair_needed ... ok
[INFO] [stdout] test output_parser::repair::tests::nested_trailing_commas ... ok
[INFO] [stdout] test output_parser::repair::tests::python_booleans ... ok
[INFO] [stdout] test output_parser::repair::tests::python_none ... ok
[INFO] [stdout] test output_parser::repair::tests::single_quoted_array ... ok
[INFO] [stdout] test output_parser::repair::tests::single_quotes ... ok
[INFO] [stdout] test output_parser::repair::tests::trailing_comma_object ... ok
[INFO] [stdout] test output_parser::repair::tests::unquoted_keys ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_already_valid ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_closes_brace ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_closes_bracket ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_nested ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_not_json ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_trailing_comma ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_with_null_fill ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_with_think_tags ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_json_parser_recovers_truncated_array ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_json_parser_recovers_truncated_object ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_auto_complete_closes_string ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_streaming_parser_cache_no_reparse ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_json_parser_truncated_in_string ... ok
[INFO] [stdout] test output_parser::repair::tests::trailing_comma_array ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_streaming_parser_progressive ... ok
[INFO] [stdout] test output_parser::streaming::tests::test_streaming_parser_clear_resets ... ok
[INFO] [stdout] test output_parser::text::tests::clean_text ... ok
[INFO] [stdout] test output_parser::text::tests::empty_after_strip ... ok
[INFO] [stdout] test output_parser::text::tests::heres_prefix ... ok
[INFO] [stdout] test output_parser::text::tests::sure_prefix ... ok
[INFO] [stdout] test output_parser::text::tests::with_think ... ok
[INFO] [stdout] test output_parser::xml::tests::case_sensitive ... ok
[INFO] [stdout] test output_parser::xml::tests::missing_close ... ok
[INFO] [stdout] test output_parser::text::tests::already_clean ... ok
[INFO] [stdout] test output_parser::xml::tests::multiline_content ... ok
[INFO] [stdout] test output_parser::xml::tests::multiple_tags ... ok
[INFO] [stdout] test output_parser::xml::tests::no_tags_found ... ok
[INFO] [stdout] test output_parser::xml::tests::simple_tag ... ok
[INFO] [stdout] test output_parser::xml::tests::tag_not_found ... ok
[INFO] [stdout] test output_parser::xml::tests::think_then_tag ... ok
[INFO] [stdout] test output_parser::xml::tests::partial_tags_found ... ok
[INFO] [stdout] test output_strategy::tests::test_debug_output ... ok
[INFO] [stdout] test output_parser::xml::tests::nested_content ... ok
[INFO] [stdout] test output_parser::xml::tests::whitespace_trimming ... ok
[INFO] [stdout] test parsing::tests::test_extract_json_block_none ... ok
[INFO] [stdout] test parsing::tests::test_extract_json_block ... ok
[INFO] [stdout] test parsing::tests::test_extract_json_candidate_from_block ... ok
[INFO] [stdout] test parsing::tests::test_extract_thinking_absent ... ok
[INFO] [stdout] test parsing::tests::test_extract_thinking_empty ... ok
[INFO] [stdout] test parsing::tests::test_extract_thinking_present ... ok
[INFO] [stdout] test parsing::tests::test_parse_as_direct ... ok
[INFO] [stdout] test output_strategy::tests::test_default_is_lossy ... ok
[INFO] [stdout] test parsing::tests::test_parse_as_embedded ... ok
[INFO] [stdout] test parsing::tests::test_extract_json_candidate_embedded ... ok
[INFO] [stdout] test output_parser::repair::tests::unrepairable ... ok
[INFO] [stdout] test parsing::tests::test_parse_value_defensively_ok ... ok
[INFO] [stdout] test parsing::tests::test_parse_as_failure ... ok
[INFO] [stdout] test parsing::tests::test_parse_value_defensively_err ... ok
[INFO] [stdout] test parsing::tests::test_parse_as_markdown_block ... ok
[INFO] [stdout] test pipeline::tests::test_all_disabled_pipeline_fails ... ok
[INFO] [stdout] test pipeline::tests::test_build_payloads_skips_disabled ... ok
[INFO] [stdout] test pipeline::tests::test_empty_pipeline_fails ... ok
[INFO] [stdout] test parsing::tests::test_parse_value_lossy_string ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_builder_success ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_stages_accessor ... ok
[INFO] [stdout] test parsing::tests::test_parse_value_lossy_json ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_with_context ... ok
[INFO] [stdout] test prompt::tests::test_numbered_list ... ok
[INFO] [stdout] test prompt::tests::test_render_basic ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_with_cancellation ... ok
[INFO] [stdout] test prompt::tests::test_numbered_list_empty ... ok
[INFO] [stdout] test prompt::tests::test_render_escaped_braces ... ok
[INFO] [stdout] test prompt::tests::test_render_escaped_braces_no_substitution ... ok
[INFO] [stdout] test prompt::tests::test_render_mixed_escaped_and_placeholder ... ok
[INFO] [stdout] test prompt::tests::test_render_no_placeholders ... ok
[INFO] [stdout] test prompt::tests::test_section ... ok
[INFO] [stdout] test retry::tests::test_requiring_keys_missing ... ok
[INFO] [stdout] test retry::tests::test_requiring_keys_null ... ok
[INFO] [stdout] test retry::tests::test_requiring_keys_ok ... ok
[INFO] [stdout] test retry::tests::test_retry_config_capped_at_5 ... ok
[INFO] [stdout] test retry::tests::test_retry_no_cool_down ... ok
[INFO] [stdout] test retry::tests::test_retry_config_new ... ok
[INFO] [stdout] test stage::tests::test_prompt_rendering ... ok
[INFO] [stdout] test stage::tests::test_prompt_rendering_no_context ... ok
[INFO] [stdout] test stage::tests::test_stage_builder_empty_prompt_fails ... ok
[INFO] [stdout] test stage::tests::test_stage_builder_success ... ok
[INFO] [stdout] test stage::tests::test_stage_creation ... ok
[INFO] [stdout] test stage::tests::test_stage_disabled ... ok
[INFO] [stdout] test stage::tests::test_system_prompt_none ... ok
[INFO] [stdout] test stage::tests::test_system_prompt_rendering ... ok
[INFO] [stdout] test retry::tests::test_custom_validator ... ok
[INFO] [stdout] test streaming::tests::test_complete_lines ... ok
[INFO] [stdout] test streaming::tests::test_flush_empty ... ok
[INFO] [stdout] test streaming::tests::test_flush_remaining ... ok
[INFO] [stdout] test streaming::tests::test_multiple_chunks_multiple_lines ... ok
[INFO] [stdout] test streaming::tests::test_non_json_lines_skipped ... ok
[INFO] [stdout] test streaming::tests::test_ollama_streaming_simulation ... ok
[INFO] [stdout] test streaming::tests::test_split_mid_value ... ok
[INFO] [stdout] test streaming::tests::test_streaming_decoder_flush_recovers_truncated ... ok
[INFO] [stdout] test streaming::tests::test_split_across_chunks ... ok
[INFO] [stdout] test streaming::tests::test_empty_chunks ... ok
[INFO] [stdout] test chain::tests::test_chain_pipes_output ... ok
[INFO] [stdout] test backend::tests::test_backoff_respects_cancellation ... ok
[INFO] [stdout] test backend::mock::tests::test_mock_cycles_responses ... ok
[INFO] [stdout] test backend::mock::tests::test_mock_fixed_response ... ok
[INFO] [stdout] test backend::mock::tests::test_mock_streaming ... ok
[INFO] [stdout] test llm_call::tests::test_backend_default_is_ollama ... ok
[INFO] [stdout] test chain::tests::test_chain_cancellation ... ok
[INFO] [stdout] test chain::tests::test_chain_as_payload ... ok
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-0b0d5fd8897021c0)
[INFO] [stdout] test chain::tests::test_chain_execute_all ... ok
[INFO] [stdout] test chain::tests::test_chain_single_payload ... ok
[INFO] [stdout] test exec_ctx::tests::test_default_timeout_applied ... ok
[INFO] [stdout] test chain::tests::test_chain_empty_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 256 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test test_all_disabled_pipeline_fails ... ok
[INFO] [stdout] test test_cancellation_flag ... ok
[INFO] [stdout] test test_empty_pipeline_fails ... ok
[INFO] [stdout] test test_llm_config_defaults ... ok
[INFO] [stdout] test test_error_display ... ok
[INFO] [stdout] test test_pipeline_builder ... ok
[INFO] [stdout] test test_mixed_enabled_disabled_stages ... ok
[INFO] [stdout] test test_pipeline_context ... ok
[INFO] [stdout] test test_pipeline_context_overwrite ... ok
[INFO] [stdout] test test_prompt_numbered_list ... ok
[INFO] [stdout] test test_pipeline_input ... ok
[INFO] [stdout] test test_pipeline_input_with_concepts ... ok
[INFO] [stdout] test test_prompt_rendering ... ok
[INFO] [stdout] test test_prompt_section ... ok
[INFO] [stdout] test test_stage_builder_with_prompt_succeeds ... ok
[INFO] [stdout] test test_stage_builder_without_prompt_fails ... ok
[INFO] [stdout] test test_stage_creation ... ok
[INFO] [stdout] test test_stage_without_system_prompt ... ok
[INFO] [stdout] test test_stage_with_system_prompt ... ok
[INFO] [stdout] test test_prompt_rendering_missing_placeholders ... ok
[INFO] [stderr]    Doc-tests llm_pipeline
[INFO] [stdout] test test_llm_config_chaining ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test src/chain.rs - chain::Chain (line 24) ... ignored
[INFO] [stdout] test src/llm_call.rs - llm_call::LlmCall (line 28) ... ignored
[INFO] [stdout] test src/lib.rs - (line 27) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 62) - compile ... ok
[INFO] [stdout] test src/events.rs - events::EventHandler (line 83) ... ok
[INFO] [stdout] test src/events.rs - events::FnEventHandler (line 115) ... ok
[INFO] [stdout] test src/backend/backoff.rs - backend::backoff::JitterStrategy (line 59) ... ok
[INFO] [stdout] test src/output_parser/extract.rs - output_parser::extract::extract_code_block_for (line 101) ... ok
[INFO] [stdout] test src/output_parser/extract.rs - output_parser::extract::find_bracketed (line 143) ... ok
[INFO] [stdout] test src/backend/mock.rs - backend::mock (line 8) ... ok
[INFO] [stdout] test src/payload.rs - payload::PayloadOutput::parse_as (line 75) ... ignored
[INFO] [stdout] test src/output_parser/json.rs - output_parser::json::parse_json (line 28) ... ok
[INFO] [stdout] test src/output_parser/choice.rs - output_parser::choice::parse_choice (line 24) ... ok
[INFO] [stdout] test src/diagnostics.rs - diagnostics::ParseDiagnostics (line 16) ... ok
[INFO] [stdout] test src/output_parser/number.rs - output_parser::number::parse_number (line 23) ... ok
[INFO] [stdout] test src/exec_ctx.rs - exec_ctx::ExecCtx (line 26) ... ok
[INFO] [stdout] test src/streaming.rs - streaming::StreamingDecoder (line 18) ... ok
[INFO] [stdout] test src/retry.rs - retry::RetryConfig (line 23) ... ok
[INFO] [stdout] test src/prompt.rs - prompt::render (line 17) ... ok
[INFO] [stdout] test src/output_parser/streaming.rs - output_parser::streaming::auto_complete_json (line 25) ... ok
[INFO] [stdout] test src/output_parser/xml.rs - output_parser::xml::parse_xml_tags (line 63) ... ok
[INFO] [stdout] test src/output_parser/extract.rs - output_parser::extract::extract_code_block (line 58) ... ok
[INFO] [stdout] test src/output_parser/text.rs - output_parser::text::parse_text (line 39) ... ok
[INFO] [stdout] test src/output_parser/number.rs - output_parser::number::parse_number_in_range (line 77) ... ok
[INFO] [stdout] test src/output_parser/streaming.rs - output_parser::streaming::StreamingJsonParser (line 172) ... ok
[INFO] [stdout] test src/output_parser/extract.rs - output_parser::extract::strip_think_tags (line 22) ... ok
[INFO] [stdout] test src/output_parser/xml.rs - output_parser::xml::parse_xml_tag (line 20) ... ok
[INFO] [stdout] test src/backend/backoff.rs - backend::backoff::BackoffConfig (line 17) ... ok
[INFO] [stdout] test src/output_strategy.rs - output_strategy::OutputStrategy (line 25) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 9.61s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4cb3f62e9d28299483cfb3e38680f4f26cfa7face631bf3dd8b3c7e8ace34e46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4cb3f62e9d28299483cfb3e38680f4f26cfa7face631bf3dd8b3c7e8ace34e46", kill_on_drop: false }`
[INFO] [stdout] 4cb3f62e9d28299483cfb3e38680f4f26cfa7face631bf3dd8b3c7e8ace34e46
